home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / Trash Selector / Trash Selector Source / Main.h < prev    next >
Encoding:
Text File  |  1992-06-18  |  3.1 KB  |  127 lines  |  [TEXT/KAHL]

  1. //••••••••••••  Show Init Stuff •••••••••••••••••
  2. #define icon_family_ID 128
  3. #define DontLoadIcon 129
  4.  
  5.  
  6. //••••••••••••  Memory management Stuff •••••••••••••••••
  7.  
  8. #define CODE_SETUP()    asm {                        \
  9.                     movem.l    a0-a5/D0-D7, -(SP)        \
  10.                     move.l        a0, a4                \
  11.                     }
  12.  
  13.     /* CODE_CLEANUP restores most registers from the stack. */
  14.  
  15.  
  16. #define CODE_CLEANUP()    asm {                        \
  17.                     movem.l    (SP)+, a0-a5/D0-D7        \
  18.                     }
  19.  
  20.     /* Quickdraw global variables */
  21.  
  22. #define GrafSize        206        /* from IM I-209. Total QDraw storage. */
  23. #define ADD_GRAFSIZE    (GrafSize - 130)    /* 130 bytes in shown fields */
  24. typedef struct
  25. {
  26.     char            filler[ADD_GRAFSIZE];    /* internal QD storage */
  27.     long            randSeed;
  28.     BitMap            screenBits;
  29.     Cursor            arrow;
  30.     Pattern            dkGray;
  31.     Pattern            ltGray;
  32.     Pattern            gray;
  33.     Pattern            black;
  34.     Pattern            white;
  35.     GrafPtr            thePort;
  36. } QD_GLOBALS;
  37.  
  38.  
  39.  
  40. #ifndef NULL                /* LSC puts this in stdio of all places... */
  41. #define NULL ( (void *)0 )
  42. #endif
  43.  
  44. static QD_GLOBALS our_qd;
  45.  
  46. //•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  47.  
  48. #define kReturnKey             0x0D
  49. #define kEnterKey             0x03
  50. #define kSpaceKey             0x20
  51. #define kESCKey                 0x1B
  52. #define kPeriodKey             0x2E
  53. #define kLeftArrowKey         0x1C
  54. #define kRightArrowKey         0x1D
  55. #define kUpArrowKey             0x1E
  56. #define kDownArrowKey         0x1F
  57.  
  58. #define kTrashButton         1
  59. #define kCancelButton         2
  60. #define kTitleStatTxt         3
  61. #define kTitleBoxUI         4
  62. #define kListUI                 5
  63. #define kSelectAllButton    6
  64. #define kDeselectAllButton    7
  65. #define kTotalSelectedUI    8
  66. #define kSignatureStatTxt    9
  67. #define kTotalUnselectedUI    10
  68.  
  69. #define kDoUpdate         32000
  70. #define kDoNothing         31000
  71. #define kKeyOK             30000
  72. #define kKeyCancel         29000
  73.  
  74.  
  75. #define kOpenFolderType         1
  76. #define kClosedFolderType        2
  77. #define kDiskType                 3
  78. #define kFileType                 4
  79. #define kApplicationType         5
  80.  
  81. #define kScanCodeOption        (unsigned short)0x3A
  82.  
  83. typedef struct ListEntryRec {
  84.     Str63    name;
  85.     long    parID;
  86.     short    vRefNum;
  87.     short    depth;
  88.     short    type;
  89.     long    fileSize;
  90. }ListEntryRec, *ListEntryPtr, **ListEntryHdl;
  91.  
  92. typedef struct TrashItemsRec {
  93.     ListEntryRec    listEntry;
  94.     struct             TrashItemsRec    **next;
  95. }TrashItemsRec, *TrashItemsPtr, **TrashItemsHdl;
  96.  
  97. static     Handle            gMyLDEF;
  98. static     long            old_MenuSelect;
  99. static     Handle            itemList;
  100. static     CInfoPBRec        gMyCPB;
  101. static     short            gDepth;
  102. static     TrashItemsHdl    gBaseTrashItem;
  103. static     ListHandle        gTheList;
  104. static     short            gCurrentVRefNum;
  105. static     short            gOurMenuWasSelected;
  106. static    long             gOldJGNE;
  107.  
  108. #define MenuSelect_TRAP    0xA93D
  109.  
  110. pascal    long our_MenuSelect(Point    where);
  111. void    DoTrashDialog(void);
  112. pascal    Boolean TrashFilter(DialogPtr theDialog, EventRecord *dlgEvent, short *itemHit);
  113. void    PositionDialog(DialogPtr theDialog);
  114. void    BuildTrashList(ListHandle theList);
  115. void    EnumerateCatalog (long int dirIDToSearch, ListHandle gTheList);
  116. void    DisplayInitialList(ListHandle theList);
  117. long    GetTotalSelected(ListHandle theList);
  118. void    SelectAll(ListHandle theList);
  119. void    DeselectAll(ListHandle theList);
  120. pascal    Boolean myLClikLoop(void);
  121. void    DeleteSelected(ListHandle gTheList);
  122. Boolean CheckForSystem7(void);
  123. Boolean KeyIsDown(unsigned  short  key);
  124.  
  125. static    Boolean myGNE (EventRecord *event,Boolean preResult);
  126. static    void myJGNE (void);
  127.